草庐IT

python shuffle算法性能

全部标签

java - 在 Java 中实现素数查找算法的最佳方法是什么?我们如何创建库类然后在 Java 中使用?

我想用Java创建库类并在我future的程序中使用它们。我希望这些库类能够找到不超过某个数甚至下一个素数的素数,或者你可以说解决与素数相关的大部分基本问题。我从未创建过Java库类。我的目标是学习这样做。请通过指出教程或其他内容来帮助我。我熟悉netbeansIDE。我发现了一些算法,比如SieveofEratosthenes和SieveofAtkin.如果您能指出一些更有效的算法,那就太好了。我不希望他们成为最好的,但至少足够好。我的目标是通过实现它们来学习一些东西。因为我没有什么实际的编码经验,所以我想通过它来提高我的技能。我的friend建议我使用Stream类,他正在谈论通过

java - DataInputStream\DataOutputStream 的性能

我目前正在使用缓冲流来读写一些文件。在这两者之间,我做了一些数学处理,其中一个符号是一个字节。阅读:InputStreaminput=newFileInputStream(outputname)input.read(byte[]b,intoff,intlen)写:OutputStreamoutput=newBufferedOutputStream(newFileOutputStream(outputname),OUTPUTBUFFERSIZE)output.write((byte)byteinsideaint);现在我需要添加一些标题数据,并支持短符号。我想使用DataInputStr

java - Java 中 ArrayList 和 LinkedList 的区别——性能的原因

我认为我在理论上很好地理解了ArrayList和LinkedList之间的区别。然而,这是第一次,我对其进行了一些测试,测试结果与我的预期大相径庭。期望:Arraylist在插入时会比LinkedList慢开始,因为它必须“移动”元素,对于链表,它的仅更新2个引用。现实:在大多数迭代中都是一样的。对于少数人迭代,它更慢。现实:从beg中删除时性能相同。测试用例:1,000,000个元素publicstaticvoidmain(String[]args){intn=1000000;ListarrayList=newArrayList(n+10);longmilis=System.curr

java - 是否可以保证 java.util.Collections.shuffle() 背后的算法在未来的 Java 版本中保持不变?

在未来的java版本中,以下程序是否保证生成具有相同内容和顺序的列表?importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Collections;importjava.util.List;importjava.util.Random;publicclassTest{publicstaticvoidmain(String[]args){Listlist=newArrayList(Arrays.asList("A","B","C","D"));Collections.shuffle(list,newRandom(

java - 生成具有上冲程和下冲程的山脉的算法(java)

我尝试做经典问题来实现一个算法来打印n对括号的所有有效组合。我找到了这个程序(完美运行):publicstaticvoidaddParen(ArrayListlist,intleftRem,intrightRem,char[]str,intcount){if(leftRem0){//tryaleftparen,iftherearesomeavailablestr[count]='(';addParen(list,leftRem-1,rightRem,str,count+1);}if(rightRem>leftRem){//tryarightparen,ifthere’samatchin

java - java中DCT和IDCT算法的问题

这里我有我的DCT算法类,其中包含“applyDCT”和“applyIDCT”方法。从技术上讲,在对0到255之间的随机整数的2x2表进行正向DCT(离散余弦变换),然后立即对这些数字进行反向DCT之后,我们应该回到最初的原始整数。就我而言,情况并非如此。我在这里做错了什么?publicclassDCT{privatestaticfinalintN=2;privatedouble[]c=newdouble[N];publicDCT(){this.initializeCoefficients();}privatevoidinitializeCoefficients(){for(inti=

java - Bitcask 可以用于简单和高性能的文件存储吗?

我正在寻找一种简单的方法来存储和检索数百万个xml文件。目前一切都在文件系统中完成,这存在一些性能问题。我们的要求是:能够在批处理过程中存储数百万个xml文件。XML文件可能有几兆大,大多数在100KB范围内。通过ID进行非常快速的随机查找(例如文档URL)可通过Java和Perl访问在最重要的Linux发行版和Windows上可用我确实看过几个NoSQL平台(例如CouchDB、Riak和其他),虽然这些系统看起来很棒,但它们似乎有点矫枉过正:无需聚类不需要守护进程(“服务”)不需要巧妙的搜索功能在深入研究Riak之后,我发现了Bitcask(参见intro),这似乎正是我想要的。介

java - BufferedReader 性能低下

我正在使用BufferReader.readlLine()逐行处理一些文本文件。两个文件大小相同,均为130MB,但处理一个文件需要40秒,而另一个文件需要75秒。我注意到一个文件有180万行,而另一个文件有210万行。但是,当我尝试处理一个包含300万行且大小相同的文件时,我花了30分钟来处理。所以我的问题是:这种行为是因为缓冲区读取器的查找时间(我想知道BufferedReader是如何工作或逐行解析文件的吗?)有什么方法可以更快地逐行读取文件?好的,friend们,我正在提供更多细节。我使用正则表达式将该行分成三部分,然后使用SimpleUnsortedWriter(由Cassa

java - Java 中的正则表达式及其与 indexOf 相比的性能

请有人告诉我如何匹配“_”和句点“。”使用regex在字符串中excatly一次,使用indexOf()而不是regex表达式是否更有效。Strings="Hello_Wor.ld"ors="12323_!£££$.asdfasd"基本上,_和前后不能出现任何字符。唯一的要求是整个字符串应该只包含一次_和。 最佳答案 indexOf将比正则表达式快得多,并且可能也更容易理解。只测试是否indexOf('_')>=0,然后如果indexOf('_',indexOfFirstUnderScore).在此期间做同样的事情。privateb

Java:getter 方法与公共(public)实例变量:性能和内存

很抱歉提出新手问题。通过引用与值传递很难!所以我有一个具有相当大数据结构的类——多维数组。我需要从另一个类访问这些数组。我可以只公开数组并执行经典的objectWithStructures.structureOne。或者,我可以做setter/getter:添加一个像publicint[][][]getStructureOne()这样的方法。有一个getter会复制多维数组吗?或者它是否通过引用传递它而你不能改变引用的对象?我担心内存和性能。但是公开数据结构,如果不导致复制则速度更快,这似乎是一种糟糕的编码习惯。附录:那么当我使用getter方法返回对对象(例如数组)的引用时,该对象是